home *** CD-ROM | disk | FTP | other *** search
-
- -- -----------------------------------------------------------------
- -- Init
- -- -----------------------------------------------------------------
- local function prog_init()
- initModels()
- sound_playMusic("music/rybky07.ogg")
- local pokus = getRestartCount()
-
-
- -- -------------------------------------------------------------
- local function prog_init_room()
- local pom1, pom2, pomb1, pomb2 = 0, 0, false, false
-
- room.pldpred = random(2)
- room.zacni = 0
- room.tyce = random(5) + 4
-
- return function()
- if room.pldpred == 1 and room.zacni == 0 or room.pldpred == 0 and room.zacni == 1 then
- room.pldpred = -1
- if room.zacni == 0 then
- addm(random(30) + 20, "rea-m-proboha")
- else
- addm(random(100) + 50, "rea-m-proboha")
- end
- addv(14, "rea-v-coto")
- addm(6, "rea-m-nevim")
- planSet(pld, "smutny", 60)
- pld:planDialog(3, "rea-x-pldik")
- end
- if room.zacni == 0 then
- room.zacni = 1
- if room.pldpred == 1 then
- addm(random(150) + 60, "rea-m-comyslis")
- else
- addm(random(30) + 20, "rea-m-comyslis")
- end
- addv(6, "rea-v-patrne")
- addv(random(130) + 30, "rea-v-ledaze")
- addm(random(70), "rea-m-mohl")
- addv(6, "rea-v-tozni")
- addm(random(200) + 20, "rea-m-anebo")
- addv(2, "rea-v-acoby")
- addm(12, "rea-m-cojavim")
- addv(random(20) + 2, "rea-v-radeji")
- addm(5, "rea-m-jakmuzes")
- addv(4, "rea-v-kolik")
- addv(random(10) + 15, "rea-v-takvidis")
- end
- if isReady(small) and isReady(big) then
- if room.zacni == 1 and no_dialog() and tyc.padlo >= room.tyce and tyc:isTalking() then
- room.tyce = 1000
- addm(9, "rea-m-doufam")
- addv(5, "rea-v-nemudruj")
- end
- end
- end
- end
-
- -- -------------------------------------------------------------
- local function prog_init_tyc()
- local pom1, pom2, pomb1, pomb2 = 0, 0, false, false
-
- tyc.padlo = 0
- local tyce = {}
- for index = 0, 12 do
- tyce[index] = getModelsTable()[tyc.index + index]
- tyce[index].pada = false
- end
-
- return function()
- local count = game_getCycles()
- for index, model in pairs(tyce) do
- model.afaze = 2 - math.floor(math.mod(count, 6) / 2)
- model:updateAnim()
- end
- for pom1, model in pairs(tyce) do
- switch(model.dir){
- [dir_down] = function()
- model.pada = true
- end,
- default = function()
- if model.pada then
- model.pada = false
- tyc:talk("rea-x-reakttyc", VOLUME_FULL)
- tyc.padlo = tyc.padlo + 1
- end
- end,
- }
- end
- end
- end
-
- -- -------------------------------------------------------------
- local function prog_init_pld()
- local pom1, pom2, pomb1, pomb2 = 0, 0, false, false
-
- pld.vlnit = 0
- pld.del = 0
- pld.ocko = 0
- pld.smer = 0
- pld.faze = 0
- pld.smutny = 0
-
- return function()
- switch(pld.dir){
- [dir_no] = function()
- if pld.vlnit == -1 then
- pld.vlnit = 8
- end
- end,
- [dir_down] = function()
- pld.vlnit = -1
- end,
- default = function()
- pld.vlnit = 8
- end,
- }
- if pld.vlnit > 0 then
- pld.smutny = 0
- end
- if pld.vlnit > 0 then
- if pld.del == 0 then
- if pld.vlnit < 3 then
- pld.del = 3
- elseif pld.vlnit < 6 then
- pld.del = 2
- else
- pld.del = 1
- end
- if random(2) == 0 then
- pld.afaze = math.mod(pld.afaze + 1, 4)
- else
- pld.afaze = math.mod(pld.afaze + 3, 4)
- end
- pld.vlnit = pld.vlnit - 1
- if pld.vlnit == 0 then
- pld.del = 0
- end
- if pld.vlnit == 0 then
- pld.afaze = 0
- elseif pld.vlnit == 1 then
- pld.afaze = 3
- end
- else
- pld.del = pld.del - 1
- end
- elseif pld.smutny > 0 then
- if pld.ocko == 0 then
- if random(100) < 10 then
- pld.ocko = 3
- end
- end
- if pld.ocko > 0 then
- pld.ocko = pld.ocko - 1
- end
- if pld.ocko > 0 then
- pld.afaze = 15
- else
- pld.afaze = 14
- end
- pld.smutny = pld.smutny - 1
- else
- if random(100) < 10 then
- pld.smer = 1 - pld.smer
- end
- switch(pld.faze){
- [0] = function()
- pld.afaze = 0
- if random(100) < 10 then
- pld.faze = 1
- end
- end,
- [5] = function()
- pld.afaze = 0
- pld.faze = 0
- end,
- default = function()
- if pld.faze == 1 or pld.faze == 4 then
- pld.faze = pld.faze + 1
- pld.afaze = 4
- elseif pld.faze == 2 or pld.faze == 3 then
- pld.faze = pld.faze + 1
- pld.afaze = 5
- end
- end,
- }
- switch(pld.afaze){
- [0] = function()
- if pld.smer == 1 then
- pld.afaze = 6
- end
- end,
- [4] = function()
- if pld.smer == 1 then
- pld.afaze = 7
- end
- end,
- }
- if pld.ocko == 0 then
- if random(100) < 10 then
- pld.ocko = 3
- end
- end
- if pld.ocko > 0 then
- pld.ocko = pld.ocko - 1
- end
- if pld.ocko > 0 then
- if pld.afaze == 0 then
- pld.afaze = 9
- else
- pld.afaze = pld.afaze + 6
- end
- end
- end
- pld:updateAnim()
- end
- end
-
- -- --------------------
- local update_table = {}
- local subinit
- subinit = prog_init_room()
- if subinit then
- table.insert(update_table, subinit)
- end
- subinit = prog_init_tyc()
- if subinit then
- table.insert(update_table, subinit)
- end
- subinit = prog_init_pld()
- if subinit then
- table.insert(update_table, subinit)
- end
- return update_table
- end
- local update_table = prog_init()
-
-
- -- -----------------------------------------------------------------
- -- Update
- -- -----------------------------------------------------------------
- function prog_update()
- for key, subupdate in pairs(update_table) do
- subupdate()
- end
- end
-
-